 package file;

import java.io.File;
import java.util.Scanner;

public class demo10 {
    private static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        //让用户输入一个目录
        System.out.println("请输入要搜索的目录");
        File rootPath = new File(scanner.next());
        //再让用户输入要检索的关键词
        System.out.println("请输入要检索的关键词：");
        String word = scanner.next();
        if(!rootPath.isDirectory()){
            System.out.println("输入的路径不是合法目录");
            return;
        }


        //遍历目录，从根目录出发，按照深度优先（递归实现）的方式，进行遍历
        scanDir(rootPath,word);
    }
    public static void scanDir(File currentDir,String word){
        File[] files = currentDir.listFiles();
        if(files == null||files.length==0){
            //空的目录或者非法的目录
            return;
        }
        //遍历列出的文件，分两个情况分别讨论
        for (File f :files){
            //加个日志，方便看程序执行的过程
            System.out.println(f.getAbsolutePath());
            if(f.isFile()){
                //如果当前文件是普通文件，看看文件名是否包含了word，后续决定是否删除
                dealFile(f,word);
            }else {
                //如果当前文件是目录文件，就递归执行scanDir
                scanDir(f,word);
            }
        }
    }
    private static void dealFile(File f,String word){
        if(!f.getName().contains(word)){
            return;
        }
        System.out.println("该文件是："+f.getAbsolutePath()+",是否选中删除？Y/N");
        String choice = scanner.next();
        if(choice.equals("Y")||choice.equals("y")){
            f.delete();

        }
    }
}
